/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.myproject.ordendigital.dao.hibernate;

import com.myproject.ordendigital.dao.TipoDocumentoDao;
import com.myproject.ordendigital.model.TipoDocumento;
import org.springframework.stereotype.Component;
import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

/**
 *
 * @author Administrador
 */
@Component
public class TipoDocumentoDaoHibernate extends HibernateDaoSupport
        implements TipoDocumentoDao {

    @Autowired
    public TipoDocumentoDaoHibernate(SessionFactory sessionFactory) {
        setSessionFactory(sessionFactory);
    }

    @Override
    public List<TipoDocumento> obtenerListaTiposDocumentos() {
        StringBuffer query = new StringBuffer("from TipoDocumento td ");
        List list = getHibernateTemplate().find(query.toString());
        return list;
    }

    @Override
    public TipoDocumento obtenerTipoDocumentoById(Integer idTipoDocumento) {
        TipoDocumento tipoDocumento = getHibernateTemplate().get(TipoDocumento.class, idTipoDocumento);
        return tipoDocumento;
    }

    @Override
    public void guardarTipoDocumento(TipoDocumento tipoDocumento) {
       getHibernateTemplate().saveOrUpdate(tipoDocumento);
    }

    @Override
    public void eliminarTipoDocumento(Integer idTipoDocumento) {
        TipoDocumento tipoDocumento = obtenerTipoDocumentoById(idTipoDocumento);
        getHibernateTemplate().delete(tipoDocumento);
    }
}
